18|接口隔离原则

接口隔离原则

接口隔离原则(ISP)指的是客户端不应该强迫依赖它不需要的接口。客户端指的是接口的调用者和使用者。

接口

如何理解接口隔离原则中的接口的定义

  1. 一组API接口集合。某些微服务接口或者类库的接口这样的API接口,客户端不应该强迫依赖它所不需要的API,这样的话容易暴露一些敏感方法出去,造成别人误用。

  2. 单个API接口或者函数。可以理解为某个函数的功能应该要职责单一,不要将多个功能逻辑放在一个函数中实现,应该把函数的功能粒度拆分更细一点,类似于单一职责原则。

  3. OOP中的接口概念。
    OOP中的接口概念就好比Java中的Interface,我们在设计Interface的时候要尽量保证接口隔离原则,因为具有良好接口隔离原则的接口更加灵活、易扩展、易复用,主要是接口的粒度比较小,在后期的需求变更的时候,改动的地方就比较少。

接口隔离原则与单一职责原则的区别

  1. 单一职责原则针对的是模块、类、接口的设计;接口隔离原则更侧重于接口的设计,是一个用于检验接口职责是否单一的标准,如果调用者只使用部分接口或部分功能,则说明接口的设计不够职责单一。